#ifndef __SERIAL_H_
#define __SERIAL_H_

#include "type.h"
#include "main.h"


#define SERIAL_RX_BUFFER_SIZE 128

// 声明DMA句柄（如果使用CubeMX生成的）
// extern DMA_HandleTypeDef hdma_usart2_rx;

void Serial_Init(void);
BaseType_t Serial_SendString(const char *str);
BaseType_t Serial_SendData(const uint8_t *data, uint16_t size);
int Serial_printf(const char *format, ...);
BaseType_t Serial_ReadByte(uint8_t *byte, TickType_t timeout);
UBaseType_t Serial_Available(void);

// 中断处理函数声明
void USART2_IRQHandler(void);
void DMA1_Stream5_IRQHandler(void);

void cmd_task_creat(void);


#endif
